package ${entityPackage};

<#list table.fields as field>
    <#if field.propertyType?index_of("BigDecimal")!=-1>
        <#assign importBigDecimal=true/>
    </#if>
    <#if field.propertyType?index_of("Date")!=-1>
        <#assign importDate=true/>
    </#if>
</#list>
<#if importDate?exists>
import java.util.Date;
</#if>
<#if importBigDecimal?exists>
import java.math.BigDecimal;
</#if>

import org.hibernate.annotations.GenericGenerator;
import lombok.Data;
import org.hibernate.annotations.Table;

import javax.persistence.*;
import java.io.Serializable;

/**
* 描述: ${table.comment}
* @author: ${author}
* @Date: ${date}
*/
@Entity
@Data
@Table(name = "${table.name}")
public class ${entity} implements Serializable {
<#-- 循环属性名称 -->
<#list table.fields as field>
    <#if field.comment??>
    /**
    * <#if field.comment!="">${field.comment}</#if>
    */
    </#if>
    <#if field.propertyName=="id">
    @Id
    //JPA通用策略生成器
    @GeneratedValue(strategy = GenerationType.AUTO,generator = "uuidStrategy")
    //自定义主键生成策略
    @GenericGenerator(name = "uuidStrategy",strategy = "uuid")
    </#if>
    private ${field.propertyType} ${field.propertyName};

</#list>
<#-- 循环set/get方法 -->
<#--<#list table.fields as field>-->
<#--    <#if field.propertyType == "Boolean">-->
<#--        <#assign getprefix="is"/>-->
<#--    <#else>-->
<#--        <#assign getprefix="get"/>-->
<#--    </#if>-->
<#--    public ${field.propertyType} ${getprefix}${field.capitalName}() {-->
<#--        return ${field.propertyName};-->
<#--    }-->

<#--    public void set${field.propertyName?cap_first}(${field.propertyType} ${field.propertyName}) {-->
<#--        this.${field.propertyName} = ${field.propertyName};-->
<#--    }-->
<#--</#list>-->
}
